Skip to main content

02 入门概念

Oracle数据库

所有的关系型数据库存储数据的集合就是磁盘中的文件。Oracle数据库其实就是一组文件的集合。Oracle数据库分别由:数据文件、控制文件、日志文件组成。

数据文件(.DBF)

数据库的 “数据仓库”,专门存储表、索引等实际业务数据,是数据库中占用空间最大的文件。每个数据文件对应一个或多个表空间,数据只能写入数据文件,且文件大小可配置自动扩展。

控制文件(.CTL)

数据库的 “导航地图”,记录数据库的关键结构信息,包括数据文件、日志文件的名称、路径、状态,以及数据库名称、检查点信息等。数据库启动时必须首先读取控制文件,否则无法定位数据文件和日志文件。

日志文件(.LOG)

数据库的 “操作账本”,记录所有对数据的修改操作(插入、更新、删除等)。日志文件分为重做日志REDO log和归档日志文件两种。

维度数据文件控制文件日志文件
核心作用存储实际业务数据记录数据库结构元数据记录数据修改操作
读写频率读写频繁,随业务操作变化启动 / 结构变更时读取,结构变更时写入实时写入,频率极高
数量与分组多个,对应表空间多个(建议冗余备份),无分组多组多成员,每组循环使用
缺失影响对应表空间数据丢失数据库无法启动可能导致数据恢复失败

实例的概念

Oracle 实例是数据库启动时在内存中创建的进程和内存结构集合。实例的作用是为数据库提供访问接口,所有对数据库文件的操作(读 / 写)都必须通过实例完成,无法直接操作磁盘文件。

实例和数据库的关系

1. 本质区别

  • 实例:内存中的逻辑结构,是 “动态运行的程序集合”,随启动 / 关闭而创建 / 消失。
  • 数据库:磁盘上的物理文件集合,是 “静态存储的数据载体”,独立于实例存在(实例关闭后文件仍在磁盘上)。

2. 关联规则

  • 单实例环境(最常见):一个实例对应一个数据库,实例启动时会加载并挂载对应的数据库文件,二者一一绑定。
  • RAC 集群环境:多个实例可对应同一个数据库,多个实例共享磁盘上的数据库文件,实现负载均衡和高可用。
  • 关键原则:实例可以单独启动(未挂载数据库),但数据库必须通过实例才能被访问,无实例则数据库无法使用。

Oracle版本说明

Oracle 版本后缀的 i、g、c 是不同技术时代的标志性标识,分别对应互联网、网格计算、云计算三大技术趋势,且每个后缀对应的版本都新增了适配该趋势的核心功能,具体说明如下:

  1. i:代表Internet(互联网)

    该后缀主要用于 Oracle 8i 和 9i 这两个版本,是 1998 - 2001 年左右互联网技术兴起背景下的命名。Oracle 8i 是首个重点支持互联网技术的版本,新增了对 Java、HTTP 等互联网相关技术的原生支持,让数据库能更好地适配互联网应用场景的开发与部署;后续的 9i 进一步强化了这一方向,补充了 XML 支持、数据压缩等功能,提升了数据库在互联网环境中的性能和兼容性。

  2. g:代表Grid(网格计算)

    对应 Oracle 10g(2003 年发布)和 11g 版本,适配当时分布式计算普及的技术需求。网格计算的核心是将分散的服务器、存储等资源整合为共享资源池,实现资源的灵活分配与高效利用。这两个版本不仅引入了 Oracle Grid Computing 基础设施,还搭配了实时应用集群、自动存储管理等核心功能,能把数据中心从分散的系统资源孤岛,转化为可统一管理、动态调度的共享资源池,极大提升了数据库的高可用性和资源利用率。

  3. c:代表Cloud(云计算)

    从 2013 年发布的 Oracle 12c 开始启用,后续的 18c、19c、21c 等版本也延续了该后缀,契合云计算快速发展的行业趋势。该系列版本的核心亮点是引入了多租户架构,支持在一个容器数据库中创建多个可插拔数据库,既能实现资源共享,又能隔离不同租户的数据,大幅降低了云计算环境下数据库的部署、管理和运维成本,让数据库能灵活适配私有云、公有云以及混合云等多种云部署场景。****

Oracle目录说明

Oracle安装目录

目录名称功能说明
admin存储数据库管理相关的配置文件、脚本和管理工具,例如数据库创建脚本、参数文件(如 pfile、spfile)、SQL*Plus 脚本等,是数据库管理的核心配置区域。
cfgtoollogs存放 Oracle 配置工具(如 DBCA、NETCA、EMCA 等)的日志文件,用于记录配置过程中的操作和可能出现的问题,方便排查配置相关的故障。
checkpoints通常用于存储检查点相关的信息,检查点是 Oracle 数据库确保数据一致性和恢复的关键机制,该目录可能记录检查点的触发时间、状态等信息,辅助数据库恢复过程。
diag诊断目录,存储 Oracle 数据库的诊断日志(ADR,自动诊断库),包括告警日志(alert log)、跟踪文件(trace files)、事件日志等,是排查数据库性能问题、故障的重要信息来源。
flash_recovery_area闪回恢复区,是 Oracle 用于集中存储备份、归档日志、闪回日志等恢复相关文件的区域,支持数据库的备份恢复、闪回操作,保障数据的可恢复性。
oradata存储数据库的物理数据文件(.dbf)、控制文件(.ctl)、联机重做日志文件(.log)等核心数据文件,是数据库实际数据的存储位置。
oradiag_chains与 Oracle 诊断链相关的目录,可能用于存储诊断过程中产生的链式信息或临时诊断文件,辅助深入分析数据库的复杂问题。
product存储 Oracle 数据库软件的安装文件和程序,包含各个版本的 Oracle 软件目录(如 11.2.0、19.0.0 等),是 Oracle 程序的安装根目录。RDBMS关系数据库管理系统安装根目录。

oradata文件目录

文件名文件类型功能说明
CONTROL01.CTL控制文件记录数据库的结构信息,包括数据文件、日志文件的名称、位置、状态,以及数据库名称、检查点信息等,是数据库启动的必要文件。
REDO01.LOG、REDO02.LOG、REDO03.LOG联机重做日志文件记录所有对数据的修改操作(插入、更新、删除等),用于数据库故障恢复,确保数据一致性。这些文件以组为单位循环使用。
SYSAUX01.DBF数据文件存储系统辅助表空间的数据,用于存放除系统表空间外的其他 Oracle 系统对象(如统计信息、PL/SQL 程序、触发器等),减轻系统表空间的负载。
SYSTEM01.DBF数据文件存储系统表空间的数据,包含 Oracle 数据库的核心元数据(如数据字典、系统表、存储过程等),是数据库运行的基础文件。
TEMP01.DBF数据文件存储临时表空间的数据,用于存放数据库运行过程中产生的临时数据(如排序操作的中间结果、临时表等),操作结束后数据会被清理。
UNDOTBS01.DBF数据文件存储回滚表空间的数据,用于记录事务的回滚信息,支持事务的回滚(撤销操作)和数据库的读一致性。
USERS01.DBF数据文件存储用户表空间的数据,用于存放普通用户创建的表、索引、视图等数据库对象,是用户数据的主要存储位置。

Oracle系统用户

在 Oracle 数据库中,SYS用户和SYSTEM用户都是具有高权限的系统用户,主要作用和区别如下:

一、SYS用户

  • 作用:是 Oracle 数据库的超级用户,拥有最高权限,负责数据库的核心管理与维护。
    • 存储数据库的核心元数据(如数据字典、系统表等),这些对象存储在SYSTEM表空间中。
    • 可执行所有管理操作,包括创建数据库、启动 / 关闭数据库、修改数据库结构、管理其他用户权限等。
    • 其模式下的对象属于数据库的 “系统底层架构”,直接影响数据库的运行机制。
  • 权限:具有SYSDBASYSOPER权限,可执行数据库的所有管理命令(如CREATE DATABASEALTER DATABASE等)。

二、SYSTEM用户

  • 作用:是 Oracle 数据库的系统管理员用户,用于管理数据库的日常操作和系统对象。
    • 存储系统辅助对象,如 Oracle 自带的工具、示例程序、统计信息等,这些对象存储在SYSAUX表空间中。
    • 可执行数据库的大部分管理任务,如创建用户、管理表空间、配置数据库参数等,但权限略低于SYS
    • 是 DBA(数据库管理员)日常操作的主要用户之一,用于执行常规的系统管理工作。
  • 权限:具有DBA角色权限,可管理数据库的常规对象和用户,但无法执行涉及数据库底层架构的核心操作(如直接修改数据字典的底层表)。

Oracle的启动

打开Windows服务

OracleServiceORCL:数据库实例,必须打开。 OracleOraDb11g_home1TNSListener:监听器服务,用来给第三方工具提供连接。 其他的服务可以关闭掉。

SQL PLUS使用

sys用户登陆口令:sys as sysdba/sysoper system用户登陆口令:system